@@ -23,9 +23,10 @@ from message.models import UserMessageInfo |
||
| 23 | 23 |
from utils.error.errno_utils import GroupPhotoStatusCode, GroupStatusCode, GroupUserStatusCode, UserStatusCode |
| 24 | 24 |
from utils.error.response_utils import response |
| 25 | 25 |
from utils.page_utils import pagination |
| 26 |
-from utils.redis.rgroup import (del_group_photo_thumbup_flag, get_group_info, get_group_photo_data, |
|
| 27 |
- get_group_photo_thumbup_flag, get_group_users_info, set_group_info, |
|
| 28 |
- set_group_photo_data, set_group_photo_thumbup_flag, set_group_users_info) |
|
| 26 |
+from utils.redis.rgroup import (del_group_photo_thumbup_flag, get_group_info, get_group_photo_comment_list, |
|
| 27 |
+ get_group_photo_data, get_group_photo_thumbup_flag, get_group_photo_thumbup_list, |
|
| 28 |
+ get_group_users_info, set_group_info, set_group_photo_data, |
|
| 29 |
+ set_group_photo_thumbup_flag, set_group_users_info) |
|
| 29 | 30 |
from utils.redis.rkeys import (GROUP_LAST_PHOTO_PK, GROUP_USERS_APPLYING_SET, GROUP_USERS_DELETED_SET, |
| 30 | 31 |
GROUP_USERS_PASSED_SET, GROUP_USERS_QUIT_SET, GROUP_USERS_REFUSED_SET, |
| 31 | 32 |
LENSMAN_PHOTO_HAGGLE_TIMES, LENSMAN_PHOTO_PRICE) |
@@ -683,15 +684,42 @@ def comment_submit_api(request): |
||
| 683 | 684 |
) |
| 684 | 685 |
|
| 685 | 686 |
# 群组照片评论列表 |
| 686 |
- photo_comments = PhotoCommentInfo.objects.filter( |
|
| 687 |
- photo_id=photo_id, |
|
| 688 |
- ) |
|
| 687 |
+ photo_comments = get_group_photo_comment_list(photo_id) |
|
| 688 |
+ |
|
| 689 |
+ # 群组照片点赞列表 |
|
| 690 |
+ photo_thumbups = get_group_photo_thumbup_list(photo_id) |
|
| 691 |
+ |
|
| 692 |
+ # 给所有评论/点赞者发送提醒 |
|
| 693 |
+ for commenter in photo_comments: |
|
| 694 |
+ UserMessageInfo.objects.create( |
|
| 695 |
+ from_uid=user_id, |
|
| 696 |
+ from_nickname=group_user.nickname, |
|
| 697 |
+ from_avatar=group_user.avatar, |
|
| 698 |
+ to_uid=commenter['user_id'], |
|
| 699 |
+ group_id=group_photo.group_id, |
|
| 700 |
+ photo_id=group_photo.pk, |
|
| 701 |
+ msg_type=UserMessageInfo.COMMENT, |
|
| 702 |
+ msg_title=u'评论', |
|
| 703 |
+ msg_content=comment, |
|
| 704 |
+ ) |
|
| 705 |
+ for thumber in photo_thumbups: |
|
| 706 |
+ UserMessageInfo.objects.create( |
|
| 707 |
+ from_uid=user_id, |
|
| 708 |
+ from_nickname=group_user.nickname, |
|
| 709 |
+ from_avatar=group_user.avatar, |
|
| 710 |
+ to_uid=thumber['user_id'], |
|
| 711 |
+ group_id=group_photo.group_id, |
|
| 712 |
+ photo_id=group_photo.pk, |
|
| 713 |
+ msg_type=UserMessageInfo.COMMENT, |
|
| 714 |
+ msg_title=u'评论', |
|
| 715 |
+ msg_content=comment, |
|
| 716 |
+ ) |
|
| 689 | 717 |
|
| 690 | 718 |
return JsonResponse({
|
| 691 | 719 |
'status': 200, |
| 692 | 720 |
'message': u'评论成功', |
| 693 | 721 |
'data': {
|
| 694 |
- 'comments': [comment.comment_info for comment in photo_comments], |
|
| 722 |
+ 'comments': photo_comments, |
|
| 695 | 723 |
} |
| 696 | 724 |
}) |
| 697 | 725 |
|
@@ -719,7 +747,7 @@ def thumbup_submit_api(request): |
||
| 719 | 747 |
return response(GroupPhotoStatusCode.GROUP_PHOTO_NOT_FOUND) |
| 720 | 748 |
|
| 721 | 749 |
# user_id 是否点赞 photo_id |
| 722 |
- if PhotoThumbUpInfo.objects.filter(photo_id=photo_id, user_id=user_id, thumbup=True).exists(): |
|
| 750 |
+ if get_group_photo_thumbup_flag(photo_id, user_id): |
|
| 723 | 751 |
return response(GroupPhotoStatusCode.DUPLICATE_THUMB_UP) |
| 724 | 752 |
|
| 725 | 753 |
# 群组照片点赞记录创建/更新 |
@@ -756,18 +784,44 @@ def thumbup_submit_api(request): |
||
| 756 | 784 |
msg_content=u'点赞', |
| 757 | 785 |
) |
| 758 | 786 |
|
| 787 |
+ # 群组照片评论列表 |
|
| 788 |
+ photo_comments = get_group_photo_comment_list(photo_id) |
|
| 789 |
+ |
|
| 759 | 790 |
# 群组照片点赞列表 |
| 760 |
- photo_thumbups = PhotoThumbUpInfo.objects.filter( |
|
| 761 |
- photo_id=photo_id, |
|
| 762 |
- thumbup=True, |
|
| 763 |
- ) |
|
| 791 |
+ photo_thumbups = get_group_photo_thumbup_list(photo_id) |
|
| 792 |
+ |
|
| 793 |
+ # 给所有评论/点赞者发送提醒 |
|
| 794 |
+ for commenter in photo_comments: |
|
| 795 |
+ UserMessageInfo.objects.create( |
|
| 796 |
+ from_uid=user_id, |
|
| 797 |
+ from_nickname=group_user.nickname, |
|
| 798 |
+ from_avatar=group_user.avatar, |
|
| 799 |
+ to_uid=commenter['user_id'], |
|
| 800 |
+ group_id=group_photo.group_id, |
|
| 801 |
+ photo_id=group_photo.pk, |
|
| 802 |
+ msg_type=UserMessageInfo.THUMBUP, |
|
| 803 |
+ msg_title=u'点赞', |
|
| 804 |
+ msg_content=u'点赞', |
|
| 805 |
+ ) |
|
| 806 |
+ for thumber in photo_thumbups: |
|
| 807 |
+ UserMessageInfo.objects.create( |
|
| 808 |
+ from_uid=user_id, |
|
| 809 |
+ from_nickname=group_user.nickname, |
|
| 810 |
+ from_avatar=group_user.avatar, |
|
| 811 |
+ to_uid=thumber['user_id'], |
|
| 812 |
+ group_id=group_photo.group_id, |
|
| 813 |
+ photo_id=group_photo.pk, |
|
| 814 |
+ msg_type=UserMessageInfo.THUMBUP, |
|
| 815 |
+ msg_title=u'点赞', |
|
| 816 |
+ msg_content=u'点赞', |
|
| 817 |
+ ) |
|
| 764 | 818 |
|
| 765 | 819 |
return JsonResponse({
|
| 766 | 820 |
'status': 200, |
| 767 | 821 |
'message': u'点赞提交成功', |
| 768 | 822 |
'data': {
|
| 769 | 823 |
'thumbup': True, |
| 770 |
- 'thumbups': [thumbup.thumbup_info for thumbup in photo_thumbups], |
|
| 824 |
+ 'thumbups': photo_thumbups, |
|
| 771 | 825 |
} |
| 772 | 826 |
}) |
| 773 | 827 |
|
@@ -782,21 +836,12 @@ def thumbup_list_api(request): |
||
| 782 | 836 |
user_id = request.POST.get('user_id', '')
|
| 783 | 837 |
photo_id = request.POST.get('photo_id', '')
|
| 784 | 838 |
|
| 785 |
- # user_id 是否点赞 photo_id |
|
| 786 |
- thumbup = PhotoThumbUpInfo.objects.filter(photo_id=photo_id, user_id=user_id, thumbup=True).exists() |
|
| 787 |
- |
|
| 788 |
- # 群组照片点赞列表 |
|
| 789 |
- photo_thumbups = PhotoThumbUpInfo.objects.filter( |
|
| 790 |
- photo_id=photo_id, |
|
| 791 |
- thumbup=True, |
|
| 792 |
- ) |
|
| 793 |
- |
|
| 794 | 839 |
return JsonResponse({
|
| 795 | 840 |
'status': 200, |
| 796 | 841 |
'message': u'获取点赞列表成功', |
| 797 | 842 |
'data': {
|
| 798 |
- 'thumbup': thumbup, |
|
| 799 |
- 'thumbups': [thumbup.thumbup_info for thumbup in photo_thumbups], |
|
| 843 |
+ 'thumbup': get_group_photo_thumbup_flag(photo_id, user_id), # user_id 是否点赞 photo_id |
|
| 844 |
+ 'thumbups': get_group_photo_thumbup_list(photo_id), # 群组照片点赞列表 |
|
| 800 | 845 |
} |
| 801 | 846 |
}) |
| 802 | 847 |
|
@@ -824,7 +869,7 @@ def thumbup_cancel_api(request): |
||
| 824 | 869 |
return response(GroupPhotoStatusCode.GROUP_PHOTO_NOT_FOUND) |
| 825 | 870 |
|
| 826 | 871 |
# user_id 是否点赞 photo_id |
| 827 |
- if not PhotoThumbUpInfo.objects.filter(photo_id=photo_id, user_id=user_id, thumbup=True).exists(): |
|
| 872 |
+ if not get_group_photo_thumbup_flag(photo_id, user_id): |
|
| 828 | 873 |
return response(GroupPhotoStatusCode.THUMB_UP_NOT_FOUND) |
| 829 | 874 |
|
| 830 | 875 |
# 群组照片点赞取消 |
@@ -5,7 +5,8 @@ import json |
||
| 5 | 5 |
from django.conf import settings |
| 6 | 6 |
from django.core.serializers.json import DjangoJSONEncoder |
| 7 | 7 |
|
| 8 |
-from utils.redis.rkeys import GROUP_INFO, GROUP_PHOTO_DATA, GROUP_PHOTO_THUMB_UP, GROUP_USERS_INFO |
|
| 8 |
+from utils.redis.rkeys import (GROUP_INFO, GROUP_PHOTO_COMMENT_LIST, GROUP_PHOTO_DATA, GROUP_PHOTO_THUMB_UP, |
|
| 9 |
+ GROUP_PHOTO_THUMB_UP_LIST, GROUP_USERS_INFO) |
|
| 9 | 10 |
|
| 10 | 11 |
|
| 11 | 12 |
r = settings.REDIS_CACHE |
@@ -106,3 +107,31 @@ def get_group_photo_thumbup_flag(photo_id, user_id): |
||
| 106 | 107 |
return True |
| 107 | 108 |
else: |
| 108 | 109 |
return False |
| 110 |
+ |
|
| 111 |
+ |
|
| 112 |
+def set_group_photo_comment_list(photo_id): |
|
| 113 |
+ """ 设置群组照片用户评论列表 """ |
|
| 114 |
+ from group.models import PhotoCommentInfo |
|
| 115 |
+ photo_comments = PhotoCommentInfo.objects.filter(photo_id=photo_id) |
|
| 116 |
+ photo_comments = [comment.comment_info for comment in photo_comments] |
|
| 117 |
+ r.set(GROUP_PHOTO_COMMENT_LIST % photo_id, json.dumps(photo_comments)) |
|
| 118 |
+ return photo_comments |
|
| 119 |
+ |
|
| 120 |
+ |
|
| 121 |
+def get_group_photo_comment_list(photo_id): |
|
| 122 |
+ """ 获取群组照片用户评论列表 """ |
|
| 123 |
+ return json.loads(r.get(GROUP_PHOTO_COMMENT_LIST % photo_id) or '[]') or set_group_photo_comment_list(photo_id) |
|
| 124 |
+ |
|
| 125 |
+ |
|
| 126 |
+def set_group_photo_thumbup_list(photo_id): |
|
| 127 |
+ """ 设置群组照片用户点赞列表 """ |
|
| 128 |
+ from group.models import PhotoThumbUpInfo |
|
| 129 |
+ photo_thumbups = PhotoThumbUpInfo.objects.filter(photo_id=photo_id, thumbup=True) |
|
| 130 |
+ photo_thumbups = [thumbup.thumbup_info for thumbup in photo_thumbups] |
|
| 131 |
+ r.set(GROUP_PHOTO_THUMB_UP_LIST % photo_id, json.dumps(photo_thumbups)) |
|
| 132 |
+ return photo_thumbups |
|
| 133 |
+ |
|
| 134 |
+ |
|
| 135 |
+def get_group_photo_thumbup_list(photo_id): |
|
| 136 |
+ """ 获取群组照片用户点赞列表 """ |
|
| 137 |
+ return json.loads(r.get(GROUP_PHOTO_THUMB_UP_LIST % photo_id) or '[]') or set_group_photo_thumbup_list(photo_id) |
@@ -17,6 +17,8 @@ GROUP_USERS_QUIT_SET = 'group:users:quit:set:%s' # SET,群组用户退出集 |
||
| 17 | 17 |
# 群组照片相关 |
| 18 | 18 |
GROUP_PHOTO_DATA = 'group:photo:data:%s' # STRING,群组数据记录,photo_id |
| 19 | 19 |
GROUP_PHOTO_THUMB_UP = 'group:photo:thumb:up:%s:%s' # STRING,群组照片用户点赞记录,photo_id、user_id |
| 20 |
+GROUP_PHOTO_COMMENT_LIST = 'group:photo:comment:list:%s' # STRING,群组照片用户评论列表,photo_id |
|
| 21 |
+GROUP_PHOTO_THUMB_UP_LIST = 'group:photo:thumb:up:list:%s' # STRING,群组照片用户点赞列表,photo_id |
|
| 20 | 22 |
GROUP_LAST_PHOTO_PK = 'group:last:photo:pk:%s' # STRING,群组最后一张照片PK,group_id |
| 21 | 23 |
|
| 22 | 24 |
# 摄影师照片相关 |